using System;
using Server.Network;
using Server.Items;

namespace Server.Items
{
	[FlipableAttribute( 0x1401, 0x1400 )]
	public class PugnaleMalese : ArmaBase
	{
        public override String DefNome { get { return "Pugnale Malese"; } }
        public override double DefPeso { get { return 6.0; } }
        public override int DefDannoMinimo { get { return 10; } }
        public override int DefDannoMassimo { get { return 20; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 1; } }
        public override Layer DefLayer { get { return Layer.OneHanded; } }

		[Constructable]
        public PugnaleMalese() : base(0x1401)
		{
		}

        public PugnaleMalese(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	//-------------------------------------MAX------------------------------------
	
	[FlipableAttribute( 0xF52, 0xF51 )]
	public class Pugnale : ArmaBase
	{
        public override String DefNome { get { return "Pugnale"; } }
        public override double DefPeso { get { return 3.5; } }
        public override int DefDannoMinimo { get { return 8; } }
        public override int DefDannoMassimo { get { return 12; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 1; } }
        public override Layer DefLayer { get { return Layer.OneHanded; } }

		[Constructable]
        public Pugnale() : base(0xF52)
		{
		}

        public Pugnale(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	[FlipableAttribute( 0x2D21, 0x2D2D)]
	public class PugnaleDellAssassino : ArmaBase
	{
        public override String DefNome { get { return "Pugnale dell'Assassino"; } }
        public override double DefPeso { get { return 3.5; } }
        public override int DefDannoMinimo { get { return 10; } }
        public override int DefDannoMassimo { get { return 11; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Slash1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 1; } }
        public override Layer DefLayer { get { return Layer.OneHanded; } }

		[Constructable]
        public PugnaleDellAssassino() : base(0x2D21)
		{
		}

        public PugnaleDellAssassino(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	[FlipableAttribute( 0x27AD, 0x27F8)]
	public class Kamajitsu : ArmaBase
	{
        public override String DefNome { get { return "Kama"; } }
        public override double DefPeso { get { return 8.0; } }
        public override int DefDannoMinimo { get { return 9; } }
        public override int DefDannoMassimo { get { return 17; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 2; } }
        public override Layer DefLayer { get { return Layer.TwoHanded; } }

		[Constructable]
        public Kamajitsu() : base(0x27AD)
		{
		}

        public Kamajitsu(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	[FlipableAttribute( 0x27AF, 0x27FA)]
	public class Saijitsu : ArmaBase
	{
        public override String DefNome { get { return "Sai"; } }
        public override double DefPeso { get { return 5.5; } }
        public override int DefDannoMinimo { get { return 8; } }
        public override int DefDannoMassimo { get { return 23; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 1; } }
        public override Layer DefLayer { get { return Layer.TwoHanded; } }

		[Constructable]
        public Saijitsu() : base(0x27AF)
		{
		}

        public Saijitsu(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
		
	[FlipableAttribute( 0x1402, 0x1403)]
	public class LanciaCorta : ArmaBase
	{
        public override String DefNome { get { return "Lancia Corta"; } }
        public override double DefPeso { get { return 7; } }
        public override int DefDannoMinimo { get { return 16; } }
        public override int DefDannoMassimo { get { return 19; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 110; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 2; } }
        public override Layer DefLayer { get { return Layer.OneHanded; } }

		[Constructable]
        public LanciaCorta() : base(0x1402)
		{
		}

        public LanciaCorta(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
			
	[FlipableAttribute( 0x26BE, 0x26C8)]
	public class Picca : ArmaBase
	{
        public override String DefNome { get { return "Picca"; } }
        public override double DefPeso { get { return 12; } }
        public override int DefDannoMinimo { get { return 20; } }
        public override int DefDannoMassimo { get { return 45; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce2H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 70; } }
        public override int DefMaxPuntiStruttura { get { return 95; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 3; } }
        public override Layer DefLayer { get { return Layer.TwoHanded; } }

		[Constructable]
        public Picca() : base(0x26BE)
		{
		}

        public Picca(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	[FlipableAttribute( 0xF62, 0xF63)]
	public class Lancia : ArmaBase
	{
        public override String DefNome { get { return "Lancia"; } }
        public override double DefPeso { get { return 11; } }
        public override int DefDannoMinimo { get { return 18; } }
        public override int DefDannoMassimo { get { return 44; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce2H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 70; } }
        public override int DefMaxPuntiStruttura { get { return 95; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 3; } }
        public override Layer DefLayer { get { return Layer.TwoHanded; } }

		[Constructable]
        public Lancia() : base(0xF62)
		{
		}

        public Lancia(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
		
	[FlipableAttribute( 0xE87, 0xE88)]
	public class Tridente : ArmaBase
	{
        public override String DefNome { get { return "Tridente"; } }
        public override double DefPeso { get { return 15; } }
        public override int DefDannoMinimo { get { return 29; } }
        public override int DefDannoMassimo { get { return 55; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce2H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 90; } }
        public override int DefMaxPuntiStruttura { get { return 140; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 3; } }
        public override Layer DefLayer { get { return Layer.TwoHanded; } }

		[Constructable]
        public Tridente() : base(0xE87)
		{
		}

        public Tridente(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	[FlipableAttribute( 0x1405, 0x1404)]
	public class Forcone : ArmaBase
	{
        public override String DefNome { get { return "Forcone"; } }
        public override double DefPeso { get { return 8; } }
        public override int DefDannoMinimo { get { return 18; } }
        public override int DefDannoMassimo { get { return 27; } }
        public override SkillName DefSkillUtilizzata { get { return SkillName.Punta; } }
        public override WeaponAnimation DefAnimazione { get { return WeaponAnimation.Pierce1H; } }
        public override WeaponType DefTipo { get { return WeaponType.Punta; } }
        public override int DefMinPuntiStruttura { get { return 85; } }
        public override int DefMaxPuntiStruttura { get { return 120; } }
        public override int DefSuonoTargetColpito { get { return 0x23C; } }
        public override int DefSuonoTargetMancato { get { return 0x238; } }
        public override int DefMaxRangeCaricareColpo { get { return 1; } }
        public override int DefMaxRangeScaricareColpo { get { return 2; } }
        public override Layer DefLayer { get { return Layer.OneHanded; } }

		[Constructable]
        public Forcone() : base(0x1405)
		{
		}

        public Forcone(Serial serial) : base(serial)
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
}